﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using WpfApplication2.ViewModels.Afiliado;
using WpfApplication2.SindicatoWebService;

namespace WpfApplication2.Views.HistoriaClinica
{
    /// <summary>
    /// Interaction logic for ConsultarHistoria.xaml
    /// </summary>
    public partial class ConsultarHistoria : Page
    {
        private ConsultarHistoriaViewModel contexto
        {
            get
            {
                return (ConsultarHistoriaViewModel)DataContext;
            }
        }
        public Instancias Instancias { get; set; }
        public SindicatoWebService.Service1SoapClient WS { get; set; }

        public ConsultarHistoria(Instancias instancias, AfiliadoDTO afiliado, HistoriaClinicaDTO historia)
        {
            InitializeComponent();
            Instancias = instancias;
            DataContext = new ConsultarHistoriaViewModel(instancias, afiliado, historia);
            WS = new Service1SoapClient();
        }

        private void btnNuevaEvolucion_Click(object sender, RoutedEventArgs e)
        {
            string evo = Instancias.NuevaEvolucionDialog.ShowHandlerDialog();
            var evoArray = evo.Split('|');
            if (evoArray[0] == "1" && !string.IsNullOrEmpty(evoArray[1]))
            {
                var evolucion = new EvolucionClinicaDTO
                {
                    Contenido = evoArray[1],
                    Fecha = DateTime.Now,
                    HistoriaId = contexto.Historia.Id
                };
                evolucion.Id = WS.GuardarEvolucion(evolucion);

                var lista = new EvolucionClinicaDTO[contexto.Historia.EvolucionesClinicas.Count() + 1];
                for (int i = 0; i < contexto.Historia.EvolucionesClinicas.Count(); i++)
                {
                    lista[i] = contexto.Historia.EvolucionesClinicas[i];
                }
                lista[contexto.Historia.EvolucionesClinicas.Count()] = evolucion;
                contexto.Historia.EvolucionesClinicas = lista;
                ictrlEvoluciones.ItemsSource = null;
                ictrlEvoluciones.ItemsSource = contexto.Historia.EvolucionesClinicas;
            }
        }
    }
}
